<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>插槽-内容分发</title>
    <script src="vue.js"></script>
</head>
<body>
    <div id="app">
       <my-com>

            <!-- 1.第一种写法 指明slot的属性值,在组件模板里使用 -->
           <!-- <h2 slot="header">我是头部</h2>
           <h2 slot="container">我是内容</h2>
           <h2 slot="footer">我是尾部</h2> -->

           <!-- 2.第二种写法 使用template结合v-slot:header v-slot:container v-slot:footer使用 -->
           <template v-slot:header>我是头部</template>
           <template v-slot:container>我是内容</template>
           <!-- 任何没有被包裹在带有 v-slot 的 <template> 中的内容都会被视为默认插槽的内容。 -->
           <p>我是被视为默认插槽的内容</p>
           <p>你看看我被插进来了么</p>         
           <template v-slot:footer>我是尾部</template>
       </my-com>
    </div>

    <template id="com">
        <div>
            <slot name="header"></slot>
            我是component组件信息
            <slot></slot>
            <slot name="container"></slot>
            <slot name="footer"></slot>
        </div>
    </template>

    <script>
        const Com = {          
            template: '#com'
        }
    
        new Vue({
            el: '#app',
            components: {
               'myCom' : Com
            }
        })
    </script>
</body>
</html>